package cn.edu.zjut.aspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

/**
 * @author XiaoFeng
 * @version 1.0
 * @Description 用于实现权限检查并用基于 Annotation 的注解方式定义切面
 * 其中用@Aspect 修饰的类是切面类，用@Pointcut 定义切点，用@Before 定义 Before 增强处理
 * Create by 2021/12/6 14:58
 */

@Aspect
public class SecurityHandler {
    /**
     * 定义 Pointcut,Pointcut 的名称是 modify，
     * 此方法不能有返回值和参数，该方法只是一个标识
     */
    @Pointcut("execution(* add*(..))||execution(* del*(..))||execution(* update*(..))")
    private void modify() {
    }

    @Before("modify()")
    private void checkSecurity() {
        System.out.println("--checkSecurity()--");
    }
}
